/*
 * Copyright (C), 2002-2017, 苏宁易购电子商务有限公司
 * FileName: ActivityService.java
 * Author:   15050536
 * Date:     2017年3月24日 下午6:23:55
 * Description: //模块目的、功能描述      
 * History: //修改记录
 * <author>      <time>      <version>    <desc>
 * 修改人姓名             修改时间            版本号                  描述
 */
package com.suning.sawp.member.service;

import java.util.List;

import com.suning.sawp.dto.common.EmployeeInfo;
import com.suning.sawp.member.dto.AdminActivity;
import com.suning.sawp.member.vo.ActivityStoreListVo;
import com.suning.sawp.member.vo.AdminActivityVo;
import com.suning.sawp.member.vo.CustomerDetailVo;
import com.suning.sawp.member.vo.CustomerDetailWithSaleVo;
import com.suning.sawp.member.vo.GridViewVo;

/**
 * 新会员拓展 活动 service
 *
 * @author 15060460
 */
public interface AdminActivityService {

	/**
	 * 
	 * 大区，分公司查询活动列表
	 *
	 * @param code
	 *            大区、分公司编码
	 * @param role
	 *            0 大区，1分公司
	 * @param pageNo
	 * @param pageSize
	 * @return
	 * @see [相关类/方法](可选)
	 * @since [产品/模块版本](可选)
	 */
	public GridViewVo<AdminActivity> queryActivityList(String code, String role, Long pageNo, Long pageSize);

	/**
	 * 
	 * 店长、督导查询活动列表
	 *
	 * @param storeCode
	 *            门店编码
	 * @param staffId
	 *            督导工号（不为空表示督导，为空表示店长）
	 * @return
	 * @see [相关类/方法](可选)
	 * @since [产品/模块版本](可选)
	 */
	public List<AdminActivity> queryActivityList(String storeCode, String staffId);

	/**
	 * 查询活动信息（大区、分公司）
	 *
	 * @param activityId
	 * @return
	 * @see [相关类/方法](可选)
	 * @since [产品/模块版本](可选)
	 */
	public AdminActivityVo queryActivity(String activityId);

	/**
	 * 修改活动信息
	 *
	 * @param adminActivityVo
	 * @see [相关类/方法](可选)
	 * @since [产品/模块版本](可选)
	 */
	public void modifyActivity(AdminActivityVo adminActivityVo, String staffId);

	/**
	 * 新增活动
	 *
	 * @param adminActivityVo
	 * @param employee
	 * @return
	 * @see [相关类/方法](可选)
	 * @since [产品/模块版本](可选)
	 */
	String addActivity(AdminActivityVo adminActivityVo, EmployeeInfo employee);

	/**
	 * 查询门店列表
	 *
	 * @param employee
	 * @param realShopType
	 *            门店类型编码 1=郊区店、2=苏宁云商店 等等
	 * @return
	 */
	ActivityStoreListVo queryStoreList(EmployeeInfo employee, String realShopType);

	/**
	 * 
	 * 根据店员工号，查询其发展的客户详细信息
	 *
	 */
	public GridViewVo<CustomerDetailVo> queryCustomerDetailByEmployeeId(Long activityId, String employeeId, String source, int pageNo, int pageSize);

	/**
	 * 
	 * 根据店员工号，查询其发展的客户详细信息,附带其购买的信息
	 *
	 */
	public GridViewVo<CustomerDetailWithSaleVo> queryCustomerDetailWithSaleByEmployeeId(Long activityId, String employeeId, String source, int pageNo, int pageSize);

	/**
	 * 
	 * 查询某活动，某门店，某品类?下所有的拓展客户列表
	 *
	 */
	public GridViewVo<CustomerDetailVo> queryCustomerDetailByStoreAndCateCode(Long activityId, String storeCode, String cateCode, String source, int pageNo, int pageSize);

	/**
	 * 
	 * 查询某活动，某门店，某品类?下所有的拓展客户列表,附带其购买的信息
	 *
	 */
	public GridViewVo<CustomerDetailWithSaleVo> queryCustomerDetailWithSaleByStoreAndCateCode(Long activityId, String storeCode, String cateCode, String source, int pageNo, int pageSize);

}
